Skip to content

Conversation

@matthiaskrgr
Copy link
Member

@matthiaskrgr matthiaskrgr commented Dec 12, 2025

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

ada4a and others added 30 commits October 20, 2025 19:58
they are much readable this way imo
This is a general advice, and so shouldn't be repeated
This makes the labels redundant.
Add a new lint that detects the use of decimal literals as bit masks in
bitwise operations. Using decimal literals for bit masks can obscure the
intended bit pattern and reduce code readability. This lint encourages
the use of binary (`0b...`) or hexadecimal (`0x...`) notation to make
bit patterns explicit and easier to understand at a glance.

Example:

```rust
let masked = x & 14; // Bad: decimal literal as bit mask
let masked = x & 0b1110; // Good: bit pattern is explicit
```

changelog: [`decimal_bitwise_operands`]: new lint

Fixes rust-lang/rust-clippy#1775
Related to
https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast
(and very much modelled off of its implementation).

This lint is motivated by cleaning up the output of
[c2rust](https://c2rust.com/), which contains many `.offset` calls with
by literal. The lint also nicely handles offsets by zero, which are
unnecessary.

I'm aware that the feature freeze is still in place, but this was
top-of-mind now. I'll patiently wait until the freeze is lifted.

changelog: [`ptr_offset_by_literal`]: add `ptr_offset_by_literal` lint
…15101)

Closes rust-lang/rust-clippy#15099

The compiler will generate a special `main` function for the tests,
which caused this FP.

changelog: [`large_stack_frames`] fix FP on compiler generated targets
Now the program checks for transmutting from a struct containing a
single raw pointer to a reference.

```Rust
struct Foo(*const i32);
fn foo(foo: Foo) -> &i32 {
    unsafe { transmute(foo) }
}
```

changelog: [`transmute_ptr_to_ref`]: now checks for a pointer wrapped in
a struct
Now the program checks for transmutting from a struct containing a
single raw pointer to a raw pointer.

changelog: [`transmute_ptr_to_ptr`]: now checks for a pointer wrapped in
a struct
Before this PR:

<img width="722" height="306" alt="Screenshot From 2025-11-28 13-04-55"
src="https://github.com/user-attachments/assets/8c2d1eb2-6030-43d1-984a-174988c73e76"
/>

With this PR:

<img width="722" height="306" alt="Screenshot From 2025-11-28 13-05-01"
src="https://github.com/user-attachments/assets/ae8a344f-b876-44b3-9ddc-aaeebc0dccd4"
/>

r? @Alexendoo

changelog: Fix display of dropdown menu "buttons"
makai410 and others added 11 commits December 12, 2025 11:14
bootstrap: add rustc-dev install target

I'm entirely new to bootstrap but there seemed to be no easy way to construct a sysroot with tools and librustc_driver.so. `./x install` is the command for that but as far as I can tell it doesn't include the rustc-dev files. This is my attempt at adding that.

`./x install rustc-dev` now does what you expect (at least on my machine™). If I'm understanding correctly this also means that `./x install` will now include rustc-dev files if `build.tools` contains `"rustc-dev"`.
…ram, r=jdonszelmann

Cleanup in the attribute parsers

* Removes a bunch of unused lifetimes in the attribute parsers
* Creates two variants of `PathParser`, because we statically know which variant we're in

r? ```````@jdonszelmann```````
…elmann

Remove uses of `cfg({any()/all()})`

~~This implements the followup warning suggested in rust-lang/rfcs#3695
~~Lint against an empty `cfg(any/all)`, suggest the boolean literal equivalents.~~
rust-lang#149791 (comment)

Tracking issue: rust-lang#131204
Suggest `cfg(false)` instead of `cfg(FALSE)`

Split from rust-lang#149791

cc ```````@Urgau```````
add regression test for `proc_macro` error subdiagnostics

The previous ICE was already fixed by rust-lang#148188, but no test was added at that time.
Closes rust-lang#145305.
…matthiaskrgr

Clippy subtree update

r? ``````@Manishearth``````

Cargo.lock update due to Clippy version bump.
Add myself(makai410) to the review rotation

Per the rust-lang/team#2177 .
@rustbot rustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-meta Area: Issues & PRs about the rust-lang/rust repository itself S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-clippy Relevant to the Clippy team. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. rollup A PR which is a rollup labels Dec 12, 2025
@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=5

@bors
Copy link
Collaborator

bors commented Dec 12, 2025

📌 Commit eaf470b has been approved by matthiaskrgr

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Dec 12, 2025
@bors
Copy link
Collaborator

bors commented Dec 12, 2025

⌛ Testing commit eaf470b with merge 3391c01...

@bors
Copy link
Collaborator

bors commented Dec 12, 2025

☀️ Test successful - checks-actions
Approved by: matthiaskrgr
Pushing 3391c01 to main...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Dec 12, 2025
@bors bors merged commit 3391c01 into rust-lang:main Dec 12, 2025
12 checks passed
@rustbot rustbot added this to the 1.94.0 milestone Dec 12, 2025
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#148678 Merge E0412 into E0425 ❌ conflicts merging '9c0cbe98ea' into previous master ❌
#148814 stabilize array_windows ❌ conflicts merging '3e88c6a639' into previous master ❌
#149489 Experimentally add heterogeneous try blocks ❌ conflicts merging '9495686c40' into previous master ❌
#149597 Revert "implement and test `Iterator::{exactly_one, collect… ❌ conflicts merging '298d13e9d0' into previous master ❌
#149655 bootstrap: add rustc-dev install target c0e1e7ba3bdfad05c6fd44c8c0253a7c5fb1820d (link)
#149789 Cleanup in the attribute parsers 4317af1fc41d3164e32347407d1e7d1195f9797a (link)
#149791 Remove uses of cfg({any()/all()}) 1b545f543babd0e1346e82a127d0207bac2e6cfc (link)
#149792 Suggest cfg(false) instead of cfg(FALSE) 7e7607700cf5ad31fd7b732f2a7823e1e76c2e09 (link)
#149883 add regression test for proc_macro error subdiagnostics 289e44701cfbd440f4bf3ceea268e8cdbeb5d3fa (link)
#149884 Clippy subtree update 8986da998d0e918787590d90098b5fee1fd86a32 (link)
#149896 Add myself(makai410) to the review rotation b2fd409617a4cb1f9e5b72f06e0cb0c0651f3a4c (link)

previous master: 2a3a62d26e

In the case of a perf regression, run the following command for each PR you suspect might be the cause: @rust-timer build $SHA

@github-actions
Copy link
Contributor

What is this? This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.

Comparing 2a3a62d (parent) -> 3391c01 (this PR)

Test differences

Show 9 test diffs

Stage 1

  • [ui] tests/ui/check-cfg/false.rs: [missing] -> pass (J1)
  • [ui] tests/ui/conditional-compilation/cfg-empty-any-all.rs: [missing] -> pass (J1)
  • [ui] tests/ui/proc-macro/sub-error-diag.rs: [missing] -> pass (J1)

Stage 2

  • [ui] tests/ui/check-cfg/false.rs: [missing] -> pass (J0)
  • [ui] tests/ui/conditional-compilation/cfg-empty-any-all.rs: [missing] -> pass (J0)
  • [ui] tests/ui/proc-macro/sub-error-diag.rs: [missing] -> pass (J0)

Additionally, 3 doctest diffs were found. These are ignored, as they are noisy.

Job group index

Test dashboard

Run

cargo run --manifest-path src/ci/citool/Cargo.toml -- \
    test-dashboard 3391c0133661be933c3ef24edf1867d71b9f206b --output-dir test-dashboard

And then open test-dashboard/index.html in your browser to see an overview of all executed tests.

Job duration changes

  1. dist-apple-various: 4885.1s -> 3173.3s (-35.0%)
  2. aarch64-apple: 8428.7s -> 10121.0s (+20.1%)
  3. dist-x86_64-apple: 8403.1s -> 7088.4s (-15.6%)
  4. x86_64-gnu-gcc: 2842.0s -> 3246.5s (+14.2%)
  5. x86_64-gnu-llvm-20-2: 5360.5s -> 6113.3s (+14.0%)
  6. i686-gnu-2: 5259.1s -> 5971.6s (+13.5%)
  7. aarch64-gnu-llvm-20-2: 2244.3s -> 2504.9s (+11.6%)
  8. x86_64-gnu-llvm-21-1: 2990.0s -> 3319.4s (+11.0%)
  9. x86_64-gnu-stable: 6913.1s -> 7612.7s (+10.1%)
  10. dist-powerpc64-linux: 5455.9s -> 4955.4s (-9.2%)
How to interpret the job duration changes?

Job durations can vary a lot, based on the actual runner instance
that executed the job, system noise, invalidated caches, etc. The table above is provided
mostly for t-infra members, for simpler debugging of potential CI slow-downs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-attributes Area: Attributes (`#[…]`, `#![…]`) A-meta Area: Issues & PRs about the rust-lang/rust repository itself merged-by-bors This PR was explicitly merged by bors. rollup A PR which is a rollup S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-clippy Relevant to the Clippy team. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.